package com.sztz.oss;

import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.stream.Stream;

/**
 * Minio分桶与业务类型
 * @author yzy
 * @date 2022/10/31 17:46
 */
@AllArgsConstructor
@Getter
public enum BucketTypeEnum {
    /**
     * 默认
     */
    DEFAULT("0","pub-bucket"),
    /**
     * 报关单AI导入
     */
    TDEC_AI_EXCEL("1","tdec-ai");

    /**
     * 业务类型
     */
    String bizType;
    /**
     * 桶名
     */
    String bucketName;

    /**
     * 根据业务类型获取对应枚举, 没找到就用默认的
     * @param bizType 业务类型
     * @return BucketTypeEnum
     * @author yzy
     * @date 2022/10/31 17:46
     */
    public static BucketTypeEnum getEnumByBizType(String bizType){
        return Stream.of(BucketTypeEnum.values())
                .filter(item -> StrUtil.equalsAnyIgnoreCase(item.getBizType(),bizType)).findFirst()
                .orElseGet(()-> BucketTypeEnum.DEFAULT);
    }
}
